package com.logic.landseaserver.service;

import java.util.List;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.domain.Procedure;
import com.logic.landseaserver.domain.RemouldProject;
import com.logic.landseaserver.ws.dto.RemouldProjectDTO;
import com.logic.landseaserver.ws.dto.RemouldProjectListDTO;

public interface IRemouldProjectService extends ICRUDService{

	Object getDTO(Integer remouldProjectId) throws BusinessException;

	List<RemouldProjectDTO> queryDTO(QueryUtil queryUtil);

	Procedure addProcedure(Integer projectId, Procedure newProcedure) throws BusinessException;

	Procedure addProcedure(Integer checkId, Integer procedureId) throws BusinessException;

	void  addProcedure(Integer checkId, String procedureIds) throws BusinessException;

	void removeProcedure(Integer checkId, Integer procedureId) throws BusinessException;

	void removeProcedure(Integer checkId, String procedureIds) throws BusinessException;

	void batchAddProcedure(Integer projectId, List<Procedure> newProcedure) throws BusinessException;

	RemouldProject copyFromTemplate(Integer projectId) throws BusinessException;

	void chooseTemplate(Integer projectId, Integer templateId) throws BusinessException;

	//项目列表
	List<RemouldProjectListDTO> queryList(QueryUtil queryUtil);
	//项目变更
	void changeRemouldProject(Integer id);

	void replaceContent(Integer newProjectId, Integer oldProjectId) throws BusinessException;
}
